Integration of Wireless and External Computing Devices

ABSTRACT

The wireless device may include logic that enables the wireless device to interface with the external computing device, and rule logic to direct handling by the external computing device of call events of the wireless device.

This application is a continuation of U.S. patent application Ser. No.10/662,639, filed Sep. 15, 2003, now U.S. Pat. No. 8,160,557, thecontent of which is hereby incorporated by reference herein in itsentirety into this disclosure.

TECHNICAL FIELD

The present disclosure relates to the integration of wireless deviceswith external computing devices such as personal computers, laptopcomputers, handheld and palm computers, and so on.

BACKGROUND

Wireless telephones are popular, ubiquitous devices. It is now possibleto make and receive phone calls from almost any place in the world.Communication is even possible from remote and undeveloped areas usingwireless satellite telephones. Herein, the term wireless telephonerefers to any device capable of transmitting and receiving voice and/ordata (non-voice) information to and from a network without the use ofwires, cables, or other tangible transmission media. So-called cellulartelephones are a common example of wireless phones.

Wireless telephones and the networks by which they communicate operateaccording to various technologies, including analog mobile phone service(AMPS), circuit switching, packet switching, wireless local area network(WLAN) protocols such as IEEE 802.11 compliant networks, wirelesswide-area networks (WWAN), short-range RF systems such as Bluetooth,code division multiple access (CDMA), time division multiple access(TDMA), frequency-division multiplexing (FDM), spread-spectrum, globalsystem for mobile communications (GSM), high-speed circuit-switched data(HCSD), general packet radio system (GPRS), enhanced data GSMenvironment (EDGE), and universal mobile telecommunications service(UMTS). Of course, these are only examples, and other technologies maybe employed in wireless communication as well.

Herein, the term ‘wireless device’ is meant to include wirelesstelephones (including cellular, mobile, and satellite telephones), andalso to include a variety of other wireless devices, including wirelessweb-access telephones, automobile, laptop, and desktop computers thatcommunicate wirelessly, and wireless personal digital assistants (PDAs).In general, the term ‘wireless device’ refers to any device withwireless communication capabilities.

Many companies produce wireless telephones and other wireless devices.Among the more well-known producers are Nokia®, Ericsson®, Motorola®,Panasonic®, Palm® Computer, and Handspring®. A variety of producers alsoprovide wireless devices comprising versions of the Microsoft® Windows®operating software.

Computing devices, such as desktop, laptop, automotive, and handheldcomputers, are common in both professional and private environments.Computing devices are often more capable than compact, portable wirelessdevices, comprising more processing power, more information storagecapability, and more display and input/output capabilities. People oftenuse such computing devices to store and manage personal and professionalinformation. Increased integration between wireless devices and externalcomputing devices (computing devices that are not part of the wirelessdevices) can exploit the greater capabilities of the external computingdevices, and help make wireless devices more useful in the home andoffice.

SUMMARY

The following summary is intended to highlight and introduce someaspects of the disclosed embodiments, but not to limit the scope of theinvention. Thereafter, a detailed description of illustrated embodimentsis presented, which will permit one skilled in the relevant art to makeand use aspects of the invention. One skilled in the relevant art canobtain a full appreciation of aspects of the invention from thesubsequent detailed description, read together with the figures, andfrom the claims (which follow the detailed description).

Information received from a caller via a wireless device is communicatedto an external computing device. Contact information for the caller islocated using at least one of a name and phone number of the caller.When the contact information for the caller is located, it is displayedby the external computing device. An email address may be located forthe caller using at least one of a name and phone number of the callerand the email address may be applied to locate stored emails previouslyreceived from or sent to the caller. A new email message may be createdand addressed to the caller. Scheduled activities involving the callermay be located. A new activity record involving the caller may becreated when the call is rejected, the called party is busy, or there isno answer to the call. A URL of a web page associated with the callermay be located and the web page displayed using the external computingdevice. The caller's name may be applied to perform an Internet searchand the results displayed using the external computing device.

The wireless device may include logic that enables the wireless deviceto interface with the external computing device, and rule logic todirect handling by the external computing device of call events of thewireless device.

BRIEF DESCRIPTION OF THE DRAWINGS

The headings provided herein are for convenience only and do notnecessarily affect the scope or meaning of the claimed invention.

In the drawings, the same reference numbers and acronyms identifyelements or acts with the same or similar functionality for ease ofunderstanding and convenience. To easily identify the discussion of anyparticular element or act, the most significant digit or digits in areference number refer to the figure number in which that element isfirst introduced.

FIG. 1 is a block diagram of an embodiment of an arrangement integratinga wireless device with logic of an external computing device.

FIG. 2 is a block diagram of an embodiment of an arrangement integratinga wireless device with contact manager logic of a computing device.

FIG. 3 is another block diagram of an embodiment of an arrangementintegrating a wireless device with contact manager logic of a computingdevice.

FIG. 4 is a block diagram of an embodiment of an arrangement integratinga wireless device with email logic of a computing device.

FIG. 5 is another block diagram of an embodiment of an arrangementintegrating a wireless device with email logic of a computing device.

FIG. 6 is a block diagram of an embodiment of an arrangement integratinga wireless device with calendar logic of a computing device.

FIG. 7 is another block diagram of an embodiment of an arrangementintegrating a wireless device with calendar logic of a computing device.

FIG. 8 is a block diagram of an embodiment of an arrangement integratinga wireless device with browser logic of a computing device.

FIG. 9 is another block diagram of an embodiment of an arrangementintegrating a wireless device with browser logic of a computing device.

FIG. 10 is a block diagram of an embodiment of an arrangementintegrating a wireless device with instant messaging logic of acomputing device.

FIG. 11 is another block diagram of an embodiment of an arrangementintegrating a wireless device with instant messaging logic of acomputing device.

FIG. 12 is a block diagram of another embodiment of an arrangementintegrating a wireless device with logic of an external computingdevice.

DETAILED DESCRIPTION

The invention will now be described with respect to various embodiments.The following description provides specific details for a thoroughunderstanding of, and enabling description for, these embodiments of theinvention. However, one skilled in the art will understand that theinvention may be practiced without these details. In other instances,well known structures and functions have not been shown or described indetail to avoid unnecessarily obscuring the description of theembodiments of the invention. References to “one embodiment” or “anembodiment” do not necessarily refer to the same embodiment, althoughthey may.

Herein, “logic” refers to any information having the form of instructionsignals and/or data that may be applied to affect the operation of aprocessing device. Examples of processing devices are computerprocessors (processing units), microprocessors, digital signalprocessors, controllers and microcontrollers, and so on. Logic may beformed from signals stored in a device memory. Software is one exampleof such logic. Examples of device memories that may comprise logicinclude RAM (random access memory), flash memories, ROMS (read-onlymemories), EPROMS (erasable programmable read-only memories), andEEPROMS. Logic may also be comprised by digital and/or analog hardwarecircuits, for example, hardware circuits comprising logical AND, OR,XOR, NAND, NOR, and other logical operations. Logic may be formed fromcombinations of software and hardware.

“Information” is configurations of matter representing knowledge, e.g.“data”. Examples of information are collections of magnetic or opticalbits.

FIG. 1 is a block diagram of an embodiment of an arrangement integratinga wireless device with logic of an external computing device. A wirelessdevice 110 comprises logic 105 and a processor 104 to execute the logic105 to interface with logic 108 of an external computing device. Amemory 106 may comprise some or all of the logic 105 of the wirelessdevice 110.

The logic 108 of the external computing device comprises logic 115 tointerface with the wireless device 110. The logic 108 of the externalcomputing device further comprises rule logic 107 comprising rules forhandling events and information received from the wireless device 110.For example, the rules logic 107 may comprise rules for processing anincoming call, for processing an incoming or outgoing Short MessageService (SMS) message, Enhanced Message Service (EMS) message,Multimedia Message Service (MMS) message, and for processing informationsuch as a caller's identity, phone number, and location information, toname just some examples.

Configuration of the rules logic 107 may be effected by the userinterface logic 113. The user interface logic 113 may accept signalsfrom a person or other source. The user interface logic 113 may operateaccording to the signals to effect changes to the rules logic 107. Forexample, a person may signal to the user interface logic 113 to changethe rules for handling incoming calls, and/or incoming calls from aparticular caller.

The logic 108 comprises interface logic to various software applicationsof the external computing device. For example, the logic 108 maycomprise email application interface logic 111, calendar applicationinterface logic 112, and contact manager interface logic 109. Otherexamples of interface logic that might be present are browserapplication interface logic and instant messaging application interfacelogic.

Examples of email applications are Microsoft™ Outlook™ and Lotus™Notes™. Examples of calendars are Microsoft Works™ Calendar and Act™Calendar. Act™ is also an example of a contact manager application, alsosometimes referred to as a personal information manager (PIM). Examplesof browser applications are Netscape™ and Internet Explorer™. Examplesof instant messaging logic are Yahoo™ Messenger™ and AOL™ Messenger™.

FIG. 2 is a block diagram of an embodiment of an arrangement integratinga wireless device with contact manager logic of a computing device. Thewireless device 110 may employ various techniques to communicate withthe computing device 202, such as using a cable, docking station orport, and infra-red or other wireless technique such as Bluetooth, toname some examples. The computing device 202 comprises memory 204.Examples of memory include random-access memory (RAM), hard disks, CDROMmemory, DVD memory, and flash memory. The memory 204, in turn, comprisesvarious sets of logic which, when applied to a processor 220, affect theoperation of the computing device 202. The logic comprised by the memory204 includes the wireless device integration logic 108 and contactmanager logic 206.

Applying the user interface logic 113 to the processor 220 results indisplay of a graphical user interface (GUI) 210 on a display 208 of thecomputing device 202. A user of the computing device 202 may interactwith the GUI 210 to create signals to effect changes to the rules logic107. For example, a user may interact with the GUI 210 to change therules for handling incoming (communicated from the wireless device 110to the computing device 202) and outgoing (communicated from thecomputing device 202 to the wireless device 110) SMS messages, UniformResource Locators (URLs), and/or duel tone multiple frequency (DTMF)signals.

Applying the contact manager logic 206 to the processor 220 results indisplay of a graphical user interface (GUI) 218. A user of the computingdevice 202 may interact with the GUI 218 to view and manage informationabout personal and professional contacts, such as the names, phonenumbers, home and office addresses, and email addresses of family andbusiness associates.

FIG. 3 is another block diagram of an embodiment of an arrangementintegrating a wireless device with contact manager logic of a computingdevice. Events and information from the wireless device 110 arecommunicated to the logic 108 of the external computing device. Forexample, an incoming call event and the phone number of a caller may becommunicated from the wireless device 110 to the logic 108. The ruleslogic 107 determines how to process the received events and information.

The logic 108 may interact with the contact manager logic 206 to cause alookup of the contact information associated with the caller's phonenumber. The contact information may include the caller's name, homeand/or office address, email address, organizational information(department, title, position, supervisor, etc.), other phone numbers,and so on. The contact information may be stored by the computing device202 or by a network (such as a corporate intranet or the Internet) towhich the computing device 202 is coupled.

If a contact record is not found for the caller, the logic 108 mayinteract with the contact manager logic 206 to cause a new record forthe caller to be created. Information about the caller made availablefrom the wireless device (caller's phone number, name, photo, etc.) maybe added to the newly created contact record.

The logic 108 may interact with the contact manager logic 206 to causecontact information associated with the called party or someoneelse—name, photo, etc.—to be communicated to the caller via the wirelessdevice 110, for example, via SMS, EMS, or MMS.

The logic 108 may interact with the contact manager logic 206 and theGUI 210 to enable “drag-and-drop” of caller information displayed by theGUI 210 to the contact manager logic 206. “Dropping” the callerinformation (such as the caller's phone number and/or name) to thecontact manager logic 206 may cause a lookup of the contact informationassociated with the caller's phone number, or create a new contactrecord for the caller. The logic 108 may interact with the contactmanager logic 206 and the GUI 210 to enable “drag-and-drop” of contactinformation for the called party or someone else from the contactmanager logic 206 to the GUI 210, resulting in communication of thisinformation to the caller.

The logic 108 may interact with the contact manager logic 206 to causecontact information associated with the caller to be stored in thememory 106 of the wireless device 110. Contact information “dropped”from the contact manager logic 206 to the GUI 210 may be stored in thememory 106 of the wireless device 110.

FIG. 4 is a block diagram of an embodiment of an arrangement integratinga wireless device with email logic of a computing device. The logiccomprised by the memory 204 includes the wireless device integrationlogic 108 and email logic 406. Applying the email logic 406 to theprocessor 220 results in display of a graphical user interface (GUI)418. A user of the computing device 202 may interact with the GUI 418 toread, write, send, manage, and organize email.

FIG. 5 is another block diagram of an embodiment of an arrangementintegrating a wireless device with email logic of a computing device.The logic 108 may interact with the email logic 406 to identify theemail address of the caller; to identify stored emails sent by and/orsent to the caller; and to highlight or otherwise call attention to theidentified emails. If an email address is not found for the caller, thelogic 108 may interact with the email logic 406 to cause a new addressbook record for the caller to be created. Information about the callermade available from the wireless device (caller's phone number, name,photo, etc.) may be added to the newly created address book record.

The logic 108 may interact with the email logic 406 to identify theemail address of the caller; to cause creation of a new email messageincluding the caller's email address in at least one of the “To”, “Cc”,and “Bcc” fields of the new email message; to identify informationspecific to the caller (e.g. vary the contents of the email according towho is calling—a customized response) and place such information in thebody and/or attachments of the email message; and to communicate theemail message to the email address associated with the caller. The emailmessage may be formed to indicate that the wireless device is busy, orthat there is no answer, or that the call has been rejected.

The logic 108 may interact with the email logic 406 to identify a phonenumber associated with an email address; to form an SMS, EMS, or MMSmessage from information from the body of an email message and/orattachments; and to wirelessly communicate the SMS, EMS, or MMS messageover a connection to the phone number.

The logic 108 may interact with the email logic 406 and the GUI 210 toenable “drag-and-drop” of caller information displayed by the GUI 210 tothe email logic 406. “Dropping” the caller information (such as thecaller's phone number and/or name) to the email logic 406 may causecreation of a new email message including the caller's email address inat least one of the “To”, “Cc”, and “Bcc” fields of the new emailmessage; to identify information specific to the caller and place suchinformation in the body and/or attachments of the email message; and tocommunicate the email message to the email address associated with thecaller.

The logic 108 may interact with the email logic 406 and the GUI 210 toenable “drag-and-drop” of a phone number and/or other informationassociated with an email address from the email logic 406 to the GUI210. Information “dropped” from the email logic 406 to the GUI 210 maybe stored in the memory 106 of the wireless device 110.

FIG. 6 is a block diagram of an embodiment of an arrangement integratinga wireless device with calendar logic of a computing device. The logiccomprised by the memory 204 includes the wireless device integrationlogic 108 and calendar logic 606. Applying the calendar logic 606 to theprocessor 220 results in display of a graphical user interface (GUI)618. A user of the computing device 202 may interact with the GUI 618 toschedule and manage meetings, events, things to do, and so on.

FIG. 7 is another block diagram of an embodiment of an arrangementintegrating a wireless device with calendar logic of a computing device.The logic 108 may interact with the calendar logic 606 to identifyactivities (meetings, events, to do items, etc.) scheduled with thecaller; and to highlight or otherwise call attention to the identifiedscheduled activities. The logic 108 may interact with the calendar logic606 to cause a new activity with the caller to be created forscheduling. Information about the caller made available from thewireless device (caller's phone number, name, photo, etc.) may be addedto the newly created activity record. For example, a new meeting recordmay be created with the caller's name listed in the “attendee” field.

The logic 108 may interact with one or more of the calendar logic 606,contact manager logic 206, and email logic 406 to identify informationspecific to the caller (such as the caller's contact information) andplace such information in the body and/or attachments of a new activityrecord; and to form an email message to the caller with informationabout the new activity to schedule.

The logic 108 may interact with the calendar logic 606 to cause a newactivity with the caller to be created for scheduling; to form an SMS,EMS, or MMS message with information about the activity to schedule andalso possibly with contact or other information about the called party;and to wirelessly communicate the SMS, EMS, or MMS message over aconnection to the caller.

The logic 108 may interact with the calendar logic 606 and the GUI 210to enable “drag-and-drop” of caller information displayed by the GUI 210to the calendar logic 606. “Dropping” the caller information (such asthe caller's phone number and/or name) to the calendar logic 606 maycause creation of a new activity record including the caller's name inthe “attendee” field of the record; to identify information specific tothe caller and place such information in the activity record; and tocommunicate information about the new activity to the caller via email,SMS, EMS, MMS, or other technique.

The logic 108 may interact with the calendar logic 606 and the GUI 210to enable “drag-and-drop” of an activity record from the calendar logic606 to the GUI 210. Information “dropped” from the calendar logic 606 tothe GUI 210 may be stored in the memory 106 of the wireless device 110.Information about the activity may be communicated wirelessly to one ormore parties identified in the “attendee” fields, via SMS, EMS, MMS, orother technique.

When an incoming call is rejected or not accepted due to busy or noanswer, the logic 108 may interact with the calendar logic 606 toschedule an activity and to communicate information about the newactivity to the caller via email, SMS, EMS, MMS, or other technique.

If the caller's location information is available from the wirelessdevice 110, driving directions and/or a map may be determined from thecaller's location to the called party's location, and may becommunicated to the called party via email, SMS, EMS, MMS, or othertechnique. The computing device 202 and/or wireless device 110 maydetermine their own locations using Global Positioning System (GPS)technology, signal transmission delay information, default locationconfiguration, Enhanced Observed Time Difference (EOTD) technology, andother methods. Driving directions between two locations may be generatedusing Internet services such as Mapquest™.

FIG. 8 is a block diagram of an embodiment of an arrangement integratinga wireless device with browser logic of a computing device. The logiccomprised by the memory 204 includes the wireless device integrationlogic 108 and browser logic 806. Applying the browser logic 806 to theprocessor 220 results in display of a graphical user interface (GUI)818. A user of the computing device 202 may interact with the GUI 818 toaccess and interact with logic of a network, such as web pages, Java™,CGI, Perl, ActiveX™, etc., and various communication protocols (IP,HTTP, FTP, HTTPS, etc.).

FIG. 9 is another block diagram of an embodiment of an arrangementintegrating a wireless device with browser logic of a computing device.The logic 108 may interact with the browser logic 806 to display a webpage identified with the call (e.g. the caller's personal web page, aweb page identified in an SMS message, etc.).

The logic 108 may interact with the browser logic 806 to perform a websearch using the caller's name or other information provided in thecall. The web search may be performed by submitting the caller's name orother information from the call (such as the subject of an SMS message)to a web search engine such as Google™. Results of the web search (suchas URLs to content associated with the caller) may be communicated toand stored by the wireless device 110.

The logic 108 may interact with the browser logic 806 to communicatebookmarks (stored URLS) from the computing device 202 to the wirelessdevice 110. This may enable a user of the wireless device 202 withbrowsing capability to enjoy the convenience of using the bookmarks ofthe browser logic 806. Likewise, the logic 108 may interact with thebrowser logic 806 to communicate bookmarks (stored URLs) from thewireless device 110 to the computing device 202.

FIG. 10 is a block diagram of an embodiment of an arrangementintegrating a wireless device with instant messaging logic of acomputing device. The logic comprised by the memory 204 includes thewireless device integration logic 108 and instant messaging logic 1006.Applying the instant messaging logic 1006 to the processor 220 resultsin display of a graphical user interface (GUI) 1018. A user of thecomputing device 202 may interact with the GUI 1018 to send and receiveinstant messages.

FIG. 11 is another block diagram of an embodiment of an arrangementintegrating a wireless device with instant messaging logic of acomputing device. The logic 108 may interact with the instant messaginglogic 1006 to exchange instant messages via the wireless device 110.

Message information provided to the IM logic 1006 may be communicated tothe logic 108, which provides a corresponding SMS, EMS, or MMS messageto the wireless device 110.

An SMS, EMS, or MMS message received by the wireless device 110 may beprovided to the logic 108, which in turn provides corresponding messageinformation to the IM logic 1006.

FIG. 12 is a block diagram of another embodiment of an arrangementintegrating a wireless device with logic of an external computingdevice. In contrast to FIG. 1, in this embodiment the wireless devicecomprises the rule logic 107 for handling events and informationreceived from the wireless device 110. Thus the rule logic 107 isconveniently portable with the wireless device 110, which may be sharedamong several external computing devices.

The wireless device interface logic 108 of the external computing device202 comprises only generic logic components, e.g. logic components thatare not specific to the rules of a particular wireless device.

Configuration of the rules logic 107 of the wireless device 110 maystill be effected by the user interface logic 113 of the externalcomputing device 202. The user interface logic 113 may accept signalsfrom a person or other operator of the external computing device 110.The user interface logic 113 may operate according to the signals andinteract with the interface logic 115 to effect changes to the ruleslogic 107. For example, a person may signal the user interface logic113, via the GUI 210, to change the rules for handling incoming calls,and/or incoming calls from a particular caller. The user interface logic113 may in turn interact with the interface logic 115 to effect theappropriate changes to the rules logic 107.

Unless the context clearly requires otherwise, throughout thedescription and the claims, the words “comprise,” “comprising,” and thelike are to be construed in an inclusive sense as opposed to anexclusive or exhaustive sense; that is to say, in the sense of“including, but not limited to.” Words using the singular or pluralnumber also include the plural or singular number respectively.Additionally, the words “herein,” “above,” “below” and words of similarimport, when used in this application, shall refer to this applicationas a whole and not to any particular portions of this application. Whenthe claims use the word “or” in reference to a list of two or moreitems, that word covers all of the following interpretations of theword: any of the items in the list, all of the items in the list and anycombination of the items in the list.

1. A system for displaying contact information in real time, comprising:a processor; a memory in communication with the processor; and a logicon the memory that, when executed by a processor, causes the processorto execute operations including: receiving event information related toa communication between a first party and a second party over a network,the event information including at least an address of the first party;retrieving and displaying a contact information of the first party basedon the address in the event information; and providing a user interfaceenabling the second party to select from among a plurality of servicesfor handling the communication between the first and second parties. 2.The system of claim 1, wherein the event information is received from awireless device.
 3. The system of claim 1, wherein the communicationbetween the first and second parties includes at least one of atelephone call, a text message, and a multimedia message.
 4. The systemof claim 1, wherein the plurality of services includes at least one of:retrieving past communications between the first and second parties,creating a new contact for at least one of the first and second parties,creating a new communication between the first and second parties,identifying a location of at least one of the first and second parties,retrieving and identifying a scheduled activity for at least one of thefirst and second parties, and retrieving additional information for atleast one of the first and second parties from the internet to bedisplayed along with the contact information.
 5. The system in claim 4,wherein the logic further causes the processor to execute operationsincluding scheduling a new activity for at least one of the first andsecond parties based on the retrieved scheduled activity.
 6. The systemin claim 1, wherein the first party is a party initiating thecommunication.
 7. The system in claim 1, wherein the second party is aparty initiating the communication.
 8. The system in claim 1, whereinthe logic further causes the processor to execute operations includingretrieving the contact information from a local storage.
 9. The systemin claim 1, wherein the database of preferences includes a plurality ofpreferences associated with a corresponding plurality of wirelesscommunications devices.
 10. The system in claim 1, wherein the logicfurther causes the processor to execute operations including retrievingthe contact information from a network.
 11. The system in claim 1,wherein the logic further causes the processor to execute operationsincluding storing the second party's selections and transmitting them toa wireless device.
 12. The system in claim 1, wherein the logic furthercauses the processor to execute operations including retrieving thecontact information based on a name extracted from the eventinformation.
 13. The system of claim 1, wherein the user interfaceenables the second party to select the service by executing adrag-and-drop operation on the displayed contact information.
 14. Anon-transitory computer-readable medium having a computer programproduct stored thereon, the computer program product comprisinginstructions that, when executed by a processor, cause the processor toperform operations including: receiving event information related to acommunication between a first party and a second party over a network,the event information including at least an address of the first party;retrieving and displaying a contact information of the first party basedon the address in the event information; and providing a user interfaceenabling the second party to select from among a plurality of servicesfor handling the communication between the first and second parties. 15.A method for displaying contact information in real-time, the methodcomprising: receiving event information related to a communicationbetween a first party and a second party over a network, the eventinformation including at least an address of the first party; retrievingand displaying a contact information of the first party based on theaddress in the event information; and providing a user interfaceenabling the second party to select from among a plurality of servicesfor handling the communication between the first and second parties.